#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
    int i = 0;
    //创建多个子进程；父进程遇到return结束/kill，子进程并不会结束
    for (i=1; i<=3; i++)
    {
        int ret = fork();
        if (ret < 0)    //失败
        {
            perror("fork");
            return -1;
        }
        else if (ret > 0)//父进程
        {
            printf("I am parent%d; ppid:%d pid:%d\n", i, getppid(), getpid());
            sleep(1);
        }
        else            //子进程
        {
            printf("I am child%d; ppid:%d pid:%d\n", i, getppid(), getpid());
            sleep(1);
            //while (1);//不让子进程再进外面的for循环创建子进程
            return 0;//子进程return结束
        }
    }
    return 0;
}
